package vip.web3.admin.sys.vo.biz.export;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import vip.web3.admin.common.export.ReTypeConverter;
import vip.web3.admin.common.export.RecordStatusConverter;
import vip.web3.common.utils.DateUtils;

import java.io.Serializable;
import java.util.Date;

@Data
public class ExReUsdtVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "id", index = 0)
    private Integer id;

    /**
     * 用户id
     */
    @ExcelProperty(value = "uid", index = 1)
    private Integer userId;

    /**
     * 用户地址/充值地址
     */
    @ExcelProperty(value = "手机账号", index = 2)
    private String mobile;

    /**
     * 类型 1 充值, 2 提现, 3 余额划转, 4 下单支出  5, 静态奖励, 6, 推荐奖励, 7 等级分红, 8, 业绩分红 9 季度分红,
     */
    @ExcelIgnore
    private Integer type;

    /**
     * 类型名称
     */
    @ExcelIgnore
    private String typeName;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注", index = 3)
    private String remark;

    /**
     * 金额
     */
    @ExcelProperty(value = "金额", index = 4)
    private String amount;

    /**
     * 手续费
     */
    @ExcelProperty(value = "手续费", index = 5)
    private String fee;

    /**
     * 哈希
     */
    @ExcelProperty(value = "哈希", index = 6)
    private String hash;

    /**
     * 提现类型: 1 人民币提现, 2 BSC 提现, 3 Tron 提现, 充值类型: 1 人民币充值, 2 BSC 充值, 3, Torn 充值
     */
    @ExcelProperty(value = "充值类型", index = 7, converter = ReTypeConverter.class)
    private Integer operateType;

    /**
     * 数字货币提现时, 提现地址
     */
    @ExcelIgnore
    private String address;

    /**
     * 人民币提现时: 银行卡
     */
    @ExcelIgnore
    private String bankName;

    /**
     * 人民币提现时银行卡号
     */
    @ExcelIgnore
    private String bankNum;

    /**
     * 提现人姓名
     */
    @ExcelIgnore
    private String realName;

    /**
     * 状态 0 未结算,  1 已结算 2 待确认
     */
    @ExcelProperty(value = "状态", index = 8, converter = RecordStatusConverter.class)
    private Integer status;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间", index = 9)
    @ColumnWidth(25)
    @DateTimeFormat(DateUtils.DATE_TIME_PATTERN)
    private Date createDate;

    /**
     * 更新时间
     */
    @ExcelIgnore
    private Date updateDate;
}
